Heuristic fuzzy controller for gantry cranes

ABSTRACT

The heuristic fuzzy controller for gantry cranes provides for controlling the position of the cart of a gantry crane while suppressing the swing angle of the payload. The rules of the controller are obtained taking into account the knowledge of an experienced crane operator. The controller uses only one fuzzy system to achieve the two control objectives.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates to nonlinear controllers, and particularlyto a heuristic fuzzy controller to control the position of a cart of agantry crane.

2. Description of the Related Art

Gantry cranes are used in many industrial applications. Generally, theyare used in maintenance and in manufacturing applications because inthese applications, efficiency and downtime are very important economicfactors.

In controlling a gantry crane, one has to ensure that the cart isproperly positioned while minimizing the swings of the payload. Hence,the cart of the crane should move toward its destination as fast and asprecise as possible, while the swings of the payload should be kept assmall as possible. However, the motion of the cart of the crane isalways accompanied with swings of the payload. These swings can bedangerous and may cause damage or accidents. Moreover, the parameters ofthe crane and the payload are generally not known exactly. Also,external disturbances might act on the crane system. Therefore, it isnecessary to develop controllers to properly control gantry cranes, evenwhen some of their parameters are not known exactly and/or when somedisturbances are acting on the crane.

Thus, a heuristic fuzzy controller for gantry cranes solving theaforementioned problems is desired.

SUMMARY OF THE INVENTION

The heuristic fuzzy controller for gantry cranes provides a means tocontrol the position of the cart of a gantry crane while suppressing theswing angle of the payload. The rules of this controller are obtainedtaking into account the knowledge of an experienced crane operator. Thecontroller uses only one fuzzy system to achieve two control objectives.

These and other features of the present invention will become readilyapparent upon further review of the following specification anddrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a plot showing the membership functions for an error in cartposition variable input to a heuristic fuzzy controller for gantrycranes according to the present invention.

FIG. 2 is a plot showing the membership functions for a cart velocityvariable input to a heuristic fuzzy controller for gantry cranesaccording to the present invention.

FIG. 3 is a plot showing the membership functions for a swing anglevariable input to a heuristic fuzzy controller for gantry cranesaccording to the present invention.

FIG. 4 is a plot showing the membership functions for an angularvelocity variable input to a heuristic fuzzy controller for gantrycranes according to the present invention.

FIG. 5 is a plot showing the membership functions for an output variablefor voltage input to the servo motor for a heuristic fuzzy controllerfor gantry cranes according to the present invention.

FIG. 6 is a plot showing cart desired position vs. time profile used ina simulation testing the heuristic fuzzy controller for gantry cranesaccording to the present invention.

FIG. 7 is a plot showing desired vs. actual position profile over timein a simulation testing the heuristic fuzzy controller for gantry cranesaccording to the present invention.

FIG. 8 is a plot showing swing angle vs. time in a simulation testingthe heuristic fuzzy controller for gantry cranes according to thepresent invention.

FIG. 9 is a plot illustrating motor voltage input to the servo motor vs.time in a simulation testing the heuristic fuzzy controller for gantrycranes according to the present invention.

FIG. 10 is a block diagram of a heuristic fuzzy controller for gantrycranes according to the present invention.

Similar reference characters denote corresponding features consistentlythroughout the attached drawings.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

At the outset, it should be understood by one of ordinary skill in theart that embodiments of the present heuristic fuzzy controller 22 (shownin FIG. 10) can comprise software or firmware code executing on acomputer, a microcontroller, a microprocessor, or a DSP processor; statemachines implemented in application specific or programmable logic; ornumerous other forms without departing from the spirit and scope of theheuristic fuzzy controller described herein. The present heuristic fuzzycontroller 22 can be provided as a computer program, which includes anon-transitory machine-readable medium having stored thereoninstructions that can be used to program a computer (or other electronicdevices) to perform a process implementing the present heuristic fuzzycontroller 22. The machine-readable medium can include, but is notlimited to, floppy diskettes, optical disks, CD-ROMs, andmagneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetic or opticalcards, flash memory, or other type of media or machine-readable mediumsuitable for storing electronic instructions.

The present heuristic fuzzy controller 22 for gantry cranes, such asgantry crane 7, provides a means to control the position of the cart ofthe gantry crane 7 while suppressing the swing angle of the payload. Therules of the present controller 22 are obtained taking into account theknowledge of an experienced crane operator. The controller uses only onefuzzy system to achieve the control objectives.

The present controller 22 is called a heuristic fuzzy controller becauseit is based on developing heuristic fuzzy rules (in terms of fuzzyIF-THEN rules) obtained from an expert in controlling gantry cranes. Theheuristic approach is a conventional method to design a fuzzy controllerfor a given system. This approach needs a good understanding of thephysics of the system and the knowledge of an experienced operator inorder to construct the fuzzy rules that describe an expert operatoraction. The heuristic approach includes the following four steps: (1)analyze the real system and choose the states and control variables; (2)derive fuzzy IF-THEN rules that relate the state variables to thecontrol variables; (3) combine these derived fuzzy IF-THEN rules into afuzzy system; and (4) test the performance of the closed-loop systemwhen using the developed fuzzy system as the controller.

In order to develop a fuzzy controller based on heuristic rules for agantry crane system, the following linguistic variables and theirassociated fuzzy sets are used to describe the fuzzy controller.

The first linguistic input variable for the present fuzzy controller 22is the error in the cart position, namely, e(t)=x_(c)(t)−x_(ref). Threefuzzy sets are used to describe this variable and are designed to coverthe range of the variable e(t) in the interval [e_(min), e_(max)]. Thefuzzy sets used are Negative (NE), Zero (ZE) and Positive (PO). Themembership functions used to describe this linguistic variable withe_(min)=−50 cm and e_(max)=50 cm are shown in FIG. 1. The secondlinguistic input variable is the velocity of the cart, namely, {dot over(x)}_(c)(t). This variable is limited within a range of [{dot over(x)}_(min), {dot over (x)}_(max)]. Again, three fuzzy sets are used todescribe this variable, viz., Negative (NE), Zero (ZE) and Positive(PO). The membership functions are shown in FIG. 2 with {dot over(x)}_(min)=−100 cm/sec and {dot over (x)}_(max)=100 cm/sec. The thirdlinguistic input variable is the swing angle of the pendulum, α(t). Thisvariable is limited within a range of [α_(min), α_(max)]. Again, we usedthree fuzzy sets, namely, Negative (NE), Zero (ZE) and Positive (PO), tocover its range. The membership functions used to describe thislinguistic variable are shown in FIG. 3 with α_(min)=−45° andα_(max)=+450°.

The fourth linguistic input variable is the angular velocity of thepayload, {dot over (α)}(t). This variable is within a range of [{dotover (α)}_(min), {dot over (α)}_(max)]. Again, we used three fuzzy sets,namely, Negative (NE), Zero (ZE) and Positive (PO), to cover its range.The membership functions used to describe this linguistic variable areshown in FIG. 4 with {dot over (α)}_(min)=−55° and {dot over(α)}_(max)=+55°. The linguistic output variable for the fuzzy controller22 is the voltage u(t) applied to the servo motor. It has a range of[u_(min), u_(max)]. We use nine fuzzy sets to cover this range. Thefuzzy sets used to cover the negative portion of this range are denotedby Negative High (NH), Negative Big (NB), Negative Medium (NM), andNegative Small (NS). The Zero fuzzy set is (ZE). The four fuzzy setsused to cover the positive portion of the range are Positive Small (PS),Positive Medium (PM), Positive Big (PB), and Positive High (PH). Themembership functions used to describe the linguistic output variable areshown in FIG. 5 with u_(min)=−20 volts and u_(max)=+20 volts. Allmembership functions used in this control scheme are assumed to beGaussian functions. From the above input and output linguistic variablesand the associated fuzzy sets used to describe these variables, a totalof 81 fuzzy rules were derived, based on heuristics and a deepunderstanding of the dynamics and the control of the gantry cranesystem. The objective of these fuzzy heuristic rules is to control theposition of the cart while suppressing the swing angle of the payload.The generated 81 fuzzy rules are listed in Table 1.

TABLE 1 Heuristic Fuzzy Rules Used In the Gantry Controller VariablesFuzzy Rule No. e(t) {dot over (x)}_(c)(t) α(t) {dot over (α)}(t) u(t) 1NE NE NE NE ZE 2 NE ZE NE NE NS 3 NE PO NE NE NM 4 NE NE NE ZE ZE 5 NEZE NE ZE NS 6 NE PO NE ZE NM 7 NE NE NE PO ZE 8 NE ZE NE PO NS 9 NE PONE PO NM 10 ZE NE NE NE NM 11 ZE ZE NE NE NB 12 ZE PO NE NE NH 13 ZE NENE ZE NS 14 ZE ZE NE ZE NM 15 ZE PO NE ZE NB 16 ZE NE NE PO ZE 17 ZE ZENE PO NS 18 ZE PO NE PO NM 19 PO NE NE NE NM 20 PO ZE NE NE NB 21 PO PONE NE NH 22 PO NE NE ZE NM 23 PO ZE NE ZE NB 24 PO PO NE ZE NH 25 PO NENE PO NM 26 PO ZE NE PO NB 27 PO PO NE PO NH 28 NE NE ZE NE PS 29 NE ZEZE NE ZE 30 NE PO ZE NE NS 31 NE NE ZE ZE PM 32 NE ZE ZE ZE PS 33 NE POZE ZE ZE 34 NE NE ZE PO PB 35 NE ZE ZE PO PM 36 NE PO ZE PO PS 37 ZE NEZE NE ZE 38 ZE ZE ZE NE NS 39 ZE PO ZE NE NM 40 ZE NE ZE ZE PS 41 ZE ZEZE ZE ZE 42 ZE PO ZE ZE NS 43 ZE NE ZE PO PM 44 ZE ZE ZE PO PS 45 ZE POZE PO ZE 46 PO NE ZE NE NS 47 PO ZE ZE NE NM 48 PO PO ZE NE NB 49 PO NEZE ZE ZE 50 PO ZE ZE ZE NS 51 PO PO ZE ZE NM 52 PO NE ZE PO PS 53 PO ZEZE PO ZE 54 PO PO ZE PO NS 55 NE NE PO NE PH 56 NE ZE PO NE PB 57 NE POPO NE PM 58 NE NE PO ZE PH 59 NE ZE PO ZE PB 60 NE PO PO ZE PM 61 NE NEPO PO PH 62 NE ZE PO PO PB 63 NE PO PO PO PM 64 ZE NE PO NE PM 65 ZE ZEPO NE PS 66 ZE PO PO NE ZE 67 ZE NE PO ZE PB 68 ZE ZE PO ZE PM 69 ZE POPO ZE PS 70 ZE NE PO PO PH 71 ZE ZE PO PO PB 72 ZE PO PO PO PM 73 PO NEPO NE PM 74 PO ZE PO NE PS 75 PO PO PO NE ZE 76 PO NE PO ZE PM 77 PO ZEPO ZE PS 78 PO PO PO ZE ZE 79 PO NE PO PO PM 80 PO ZE PO PO PS 81 PO POPO PO ZE

To combine these rules, we have used a product inference engine inrule-based unit 34 (shown in FIG. 10), a singleton fuzzifier infuzzification unit 33, and a center average defuzzifier indefuzzification unit 35. The constraint unit 36 may be used to keep acrisp, defuzzified output of defuzzification unit 35 within bounds,e.g., voltage output u(t) should be constrained to normal operatingrange within u_(min)=−20 volts and u_(max)=+20 volts.

The experimental setup for testing the heuristic fuzzy controllerconsists of a pendulum mounted on a cart, which is free to move alongthe cart's axis of motion. The cart is made of solid aluminum, and it isdriven by a rack and pinion mechanism using a DC motor energized bycrisp output voltage derived from defuzzifier output u(t). The cartslides along a stainless steel shaft using linear bearings. The cartposition is measured using a potentiometer coupled to the rack via apinion, while the swing angle of the pendulum is measured using anotherpotentiometer coupled to the pendulum via an additional pinion. Inaddition, the velocity of the cart and the angular velocity of thepayload are computed by differentiating the cart displacement and theswing angle of the payload, respectively.

The simulation results when using the proposed heuristic fuzzycontroller are now presented. The simulations are performed using thezero initial conditions and the desired cart position profile depictedin plot 600 of FIG. 6. The actual and desired cart positions when usingthe heuristic fuzzy controller are shown in plot 700 of FIG. 7, whilethe swing angle of the payload is shown in plot 800 of FIG. 8. The inputvoltage applied to the servo motor of the cart is shown in plot 900 ofFIG. 9.

It can be seen from FIGS. 7 through 9 that the cart position reached itsdesired values in a reasonable time with small swing angles. Thesettling times, as well as the maximum percentage overshoots of the cartposition trajectories for each of the different reference positions, arecomputed. In addition, the maximum swing angles associated with eachreference position are computed. These results are summarized in Table2.

TABLE 2 Summary of the Simulation Results When Using the Heuristic FuzzyController Desired position, x_(ref), in cm x_(ref) = +20 x_(ref) = −20x_(ref) = 0.0 Settling time for x_(c)(t) in sec 2.34 2.11 2.33 Maximum %overshoot for 0% 0% 0% x_(c)(t) Maximum swing angle in 3.56 6.23 3.56(deg)

The summary of the results in Table 2 indicate that the settling timesfor each of the three cases is less than 2.5 (sec) and the maximum swingangle is less than 6.5°. The responses of the three cases did notdisplay any overshoot. Moreover, it is noted that the control inputsignal is within an acceptable range. Therefore, it can be concludedthat the proposed heuristic fuzzy controller when applied to the gantrycrane system works well.

It is to be understood that the present invention is not limited to theembodiments described above, but encompasses any and all embodimentswithin the scope of the following claims.

We claim:
 1. A heuristic fuzzy controller for gantry cranes operable ona processor connected to a storage memory, the controller comprising:memory linguistic input variables e(t), {dot over (x)}_(c)(t), α(t), and{dot over (α)}(t) and means for storing the memory linguistic inputvariables in the memory, where e(t) is error in a cart position of thegantry crane, {dot over (x)}_(c)(t) is a velocity of the cart, α(t) is aswing angle of a payload of the cart, and {dot over (α)}(t) is anangular velocity of the payload; fuzzy sets for each of the linguisticinput variables and means for storing the fuzzy sets in the memory, eachof the fuzzy sets describing its respective linguistic input variable; amembership function for each of the fuzzy sets and means for storing themembership function in the memory; means for fuzzifying the e(t), {dotover (x)}_(c)(t), α(t), and {dot over (α)}(t) linguistic inputs based onthe membership functions of the fuzzy sets; a linguistic output voltagevariable u(t) and means for storing the linguistic output voltagevariable in the memory; a fuzzy set for the linguistic output voltagevariable u(t) and means for storing the fuzzy set in the memory, thefuzzy set describing the linguistic output voltage variable u(t); a setof heuristic fuzzy rules operable in the processor and means for storingthe set of heuristic fuzzy rules in the memory, the heuristic fuzzyrules being determined from action of an expert gantry crane operator,the fuzzy rules having objectives of moving the cart to a desiredposition and minimizing angular swing of the cart's payload while movingthe cart; a rule-based unit means for combining the heuristic fuzzyrules to determine which of the heuristic fuzzy rules to execute basedon an output of the fuzzifying means at a particular instant; adefuzzifier means for outputting a crisp version of output voltagevariable u(t) responsive to an output of the rule-based unit; and meansfor applying the crisp output voltage to a DC steering and translationservo motor of the cart.
 2. The heuristic fuzzy controller for gantrycranes according to claim 1, wherein the cart position error e (t) fuzzysets consist of a Negative (NE) fuzzy set, a Zero (ZE) fuzzy set, and aPositive (PO) fuzzy set.
 3. The heuristic fuzzy controller for gantrycranes according to claim 1, wherein the cart velocity {dot over(x)}_(c)(t) fuzzy sets consist of a Negative (NE) fuzzy set, a Zero (ZE)fuzzy set, and a Positive (PO) fuzzy set.
 4. The heuristic fuzzycontroller for gantry cranes according to claim 1, wherein the payloadswing angle α(t) fuzzy sets consist of a Negative (NE) fuzzy set, a Zero(ZE) fuzzy set, and a Positive (PO) fuzzy set.
 5. The heuristic fuzzycontroller for gantry cranes according to claim 1, wherein the payloadswing angle velocity {dot over (α)}(t) fuzzy sets consist of a Negative(NE) fuzzy set, a Zero (ZE) fuzzy set, and a Positive (PO) fuzzy set. 6.The heuristic fuzzy controller for gantry cranes according to claim 1,wherein the output voltage u(t) fuzzy sets consist of: a Negative High(NH) fuzzy set, a Negative Big (NB) fuzzy set, a Negative Medium (NM)fuzzy set, and a Negative Small (NS) fuzzy set; a Zero (ZE) fuzzy set;and a Positive Small (PS) fuzzy set, a Positive Medium (PM) fuzzy set, aPositive Big (PB) fuzzy set, and Positive High (PH) fuzzy set.
 7. Theheuristic fuzzy controller for gantry cranes according to claim 1,wherein the membership functions are Gaussian.
 8. The heuristic fuzzycontroller for gantry cranes according to claim 1, wherein the set ofheuristic fuzzy rules consists of 81 rules, the rules being: VariablesFuzzy Rule No. e(t) {dot over (x)}_(c)(t) α(t) {dot over (α)}(t) u(t) 1NE NE NE NE ZE 2 NE ZE NE NE NS 3 NE PO NE NE NM 4 NE NE NE ZE ZE 5 NEZE NE ZE NS 6 NE PO NE ZE NM 7 NE NE NE PO ZE 8 NE ZE NE PO NS 9 NE PONE PO NM 10 ZE NE NE NE NM 11 ZE ZE NE NE NB 12 ZE PO NE NE NH 13 ZE NENE ZE NS 14 ZE ZE NE ZE NM 15 ZE PO NE ZE NB 16 ZE NE NE PO ZE 17 ZE ZENE PO NS 18 ZE PO NE PO NM 19 PO NE NE NE NM 20 PO ZE NE NE NB 21 PO PONE NE NH 22 PO NE NE ZE NM 23 PO ZE NE ZE NB 24 PO PO NE ZE NH 25 PO NENE PO NM 26 PO ZE NE PO NB 27 PO PO NE PO NH 28 NE NE ZE NE PS 29 NE ZEZE NE ZE 30 NE PO ZE NE NS 31 NE NE ZE ZE PM 32 NE ZE ZE ZE PS 33 NE POZE ZE ZE 34 NE NE ZE PO PB 35 NE ZE ZE PO PM 36 NE PO ZE PO PS 37 ZE NEZE NE ZE 38 ZE ZE ZE NE NS 39 ZE PO ZE NE NM 40 ZE NE ZE ZE PS 41 ZE ZEZE ZE ZE 42 ZE PO ZE ZE NS 43 ZE NE ZE PO PM 44 ZE ZE ZE PO PS 45 ZE POZE PO ZE 46 PO NE ZE NE NS 47 PO ZE ZE NE NM 48 PO PO ZE NE NB 49 PO NEZE ZE ZE 50 PO ZE ZE ZE NS 51 PO PO ZE ZE NM 52 PO NE ZE PO PS 53 PO ZEZE PO ZE 54 PO PO ZE PO NS 55 NE NE PO NE PH 56 NE ZE PO NE PB 57 NE POPO NE PM 58 NE NE PO ZE PH 59 NE ZE PO ZE PB 60 NE PO PO ZE PM 61 NE NEPO PO PH 62 NE ZE PO PO PB 63 NE PO PO PO PM 64 ZE NE PO NE PM 65 ZE ZEPO NE PS 66 ZE PO PO NE ZE 67 ZE NE PO ZE PB 68 ZE ZE PO ZE PM 69 ZE POPO ZE PS 70 ZE NE PO PO PH 71 ZE ZE PO PO PB 72 ZE PO PO PO PM 73 PO NEPO NE PM 74 PO ZE PO NE PS 75 PO PO PO NE ZE 76 PO NE PO ZE PM 77 PO ZEPO ZE PS 78 PO PO PO ZE ZE 79 PO NE PO PO PM 80 PO ZE PO PO PS 81 PO POPO PO ZE


9. The heuristic fuzzy controller for gantry cranes according to claim1, wherein the defuzzifier is a center average defuzzifier.